1. Field of the Invention
This invention relates generally to interface circuits and, more particularly, to a logic circuit for arbitrating among at least two requests for access to a common resource on the basis of priority.
2. Description of the Prior Art
In many computer systems, certain system resources are shared with some or all of the intelligent devices in the system. The shared resources may comprise memory or peripheral units. When a shared resource is accessed over a common system bus, a system bus arbiter usually determines which intelligent device will have access to the bus at any one time. Since the system bus is itself a shared resource, any resource connected to the system bus automatically becomes shared.
In some systems, for example mono-board computers, two separate busses must access a shared resource; i.e. the on-board private bus and the common system bus. The on-board bus should not be affected by events occurring on the common system bus, and on-board accesses to an on-board shared resource should not be effected by events occurring on the common system bus unless the resource is requested by both the common system bus and the on-board bus. Accesses to the shared on-board resource must be arbitrated by something other than the system bus arbitrator since the requests come from more than one source.
In the case of a dynamic random access memory (RAM), one port or avenue of access would comprise a bus while a second port or avenue of access may be coupled to the system's refresh circuitry. Additional avenues or ports may lead to additional busses. All such configurations require some form of arbitration logic to select which port will gain control of the resource.
In a synchronous system, a master clock signal generally determines when data transfers can occur, and the arbitration process is synchronized to this clock. In asynchronous systems, data transfers are not referenced to a master clock.
Unfortunately, prior art arbiters may impose a dead time between release of the shared resource by one user and arbitration of the next request.